home *** CD-ROM | disk | FTP | other *** search
/ PC World 2008 April / PCWorld_2008-04_cd.bin / v cisle / allwaysync / allwaysync-7-0-1.exe / {app} / Skins / windows XP / options.js < prev    next >
Text File  |  2007-08-21  |  48KB  |  927 lines

  1. //-------------------------------------------------------------------------------------------------------------------
  2. // Main Buttons functions
  3. //-------------------------------------------------------------------------------------------------------------------
  4. //     OnClick_Ok()
  5. //     OnClick_Cancel()
  6. //     OnClick_Apply()
  7. //     OnClick_Default()
  8. //     Body_onload()
  9. //     RefreshButtons(Node)
  10. //    ExtModificationNode()
  11. //-------------------------------------------------------------------------------------------------------------------    
  12. G_PAPAM_NODE_IS_VISIBLE = false;
  13.  
  14. function OnClick_Ok()
  15.     {    
  16.     external.Method0('M_OptionsWndOk');
  17.     }    
  18. function OnClick_Cancel()
  19.     {
  20.     external.Method0('M_TryToCloseCWnd');
  21.     }        
  22. function OnClick_Apply()
  23.     {    
  24.     var Node = external.Method0('M_GetOptionTreeRoot');
  25.     external.Method0('M_OptionsWndApply');    
  26.     RefreshButtons(Node);
  27.     }            
  28. function OnClick_Default()
  29.     {
  30.     var Node = external.Method0('M_GetOptionTreeRoot');
  31.     external.Method1('M_OptionsWndDefault', Node);
  32.     RefreshButtons(Node);
  33.     }    
  34. function RefreshButtons(Node)
  35.     {
  36.     Button_Ok.value       = external.LS('button_ok');
  37.     Button_Cancel.value   =  external.LS('button_cancel');
  38.     Button_Default.value  = external.LS('button_default');
  39.     Button_Apply.value       =  external.LS('button_apply');
  40.     Button_Apply.disabled = !external.Method1('M_IsChangedNode', external.Method0('M_GetOptionTreeRoot'));    
  41.     if (Button_Apply.disabled == true)     Button_Apply.style.cursor = '';
  42.     else                                 Button_Apply.style.cursor = 'hand';    
  43.     Button_Ok.title          = external.LS("tooltip_options_Button_Ok");        
  44.     Button_Cancel.title      = external.LS("tooltip_options_Button_Cancel");    
  45.     Button_Apply.title      = external.LS("tooltip_options_Button_Apply");    
  46.     Button_Default.title  = external.LS("tooltip_options_Button_Default");
  47.     }    
  48. function ExtModificationNode()
  49.     {
  50.     var Node = external.Method0('M_GetOptionTreeRoot');
  51.     var if_modified = external.Method1('M_IsChangedNode', Node);
  52.     Button_Apply.disabled = !if_modified;    
  53.     if (Button_Apply.disabled == true)     Button_Apply.style.cursor = '';
  54.     else                                 Button_Apply.style.cursor = 'hand';
  55.     }    
  56. function Body_onload()
  57.     {
  58.     var Node = external.Method0('M_GetOptionTreeRoot');
  59.     ShowPage(Node);
  60.     }    
  61. function Body_onresize(Body)
  62.     {
  63.     /*if (window.document.clientWidth < 500) window.document.clientWidth = 500;    alert(window.document.clientWidth);*/
  64.     }    
  65. //-------------------------------------------------------------------------------------------------------------------
  66. // Functions for nodes viewing
  67. //-------------------------------------------------------------------------------------------------------------------    
  68. //    ShowPage(Node)
  69. //    ExtRefreshView(Node, Mode)
  70. //    ExtOnCollapsibleNodeButtonClick(Node, ButtonNode)
  71. //    ExtFocusToNode(Node)
  72. //    MustBeDisabled(Node)
  73. //    IsProcessed(Node)
  74. //    IsCollapsible(Node)
  75. //    OnCollapsibleNodeButtonClick(HtmlElementID, ButtonItem)
  76. //-------------------------------------------------------------------------------------------------------------------    
  77. function ShowPage(Node)
  78.     {    
  79.     Page_container.innerHTML = BuildNodeView(Node, 'Left');
  80.     RefreshButtons(Node);
  81.     }                    
  82. function ExtRefreshView(Node, Mode)    
  83.     {    
  84.     var NodeID = Node.objID;    
  85.     if         (Mode == 0) Mode = 'Node';
  86.     else if (Mode == 2) Mode = 'Caption';
  87.     else if (Mode == 3) Mode = 'Description';    
  88.     
  89.     if (Mode == 'Node')        
  90.         {
  91.         var RootNode = external.Method0('M_GetOptionTreeRoot');
  92.         var RootNodeID = RootNode.ObjID;
  93.         var NodeID = Node.ObjID;
  94.         if (RootNodeID == NodeID)
  95.             {
  96.             Page_container.innerHTML = BuildNodeView(Node, 'Left');
  97.             }
  98.         else
  99.             {    
  100.             var Node_container = document.getElementById(NodeID);
  101.             if (Node_container != null) Node_container.outerHTML = BuildNodeView(Node, 'Left');    
  102.             }
  103.         }
  104.     else if ((Mode == 'Caption') || (Mode == 'Description'))    
  105.         {
  106.         var NodeSpecification_container = document.getElementById(NodeID+Mode+'');
  107.         if (NodeSpecification_container != null) NodeSpecification_container.innerHTML = StrToFormatStr(Node.Method0('M_GetNode'+Mode));            
  108.         }
  109.     RefreshButtons(Node);         
  110.     }        
  111. function ExtOnCollapsibleNodeControlClick(Node, ButtonNode)    
  112.     {
  113.     var HtmlElement = document.getElementById(Node.objID+'CollapsiblePart');  
  114.     var ButtonElement = document.getElementById(ButtonNode.objID+'Caption');
  115.      if    (HtmlElement != null)
  116.         if     (    HtmlElement.className == "Collapsed")    
  117.             {
  118.             HtmlElement.className = "Expanded"; 
  119.             ButtonElement.innerHTML=external.LS('button_basic');
  120.             }
  121.         else
  122.             {
  123.             HtmlElement.className = "Collapsed"; 
  124.             ButtonElement.innerHTML=external.LS('button_advanced'); 
  125.             }    
  126.     }    
  127. function ExtFocusToNode(Node) 
  128. {
  129.     var RootNode   = external.Method0('M_GetOptionTreeRoot');    
  130.     var RootNodeID = RootNode.objID;        
  131.     var NodeID = Node.objID;            
  132.     //-------------------------------------------------------
  133.     if(RootNodeID != NodeID)     
  134.         {            
  135.         var ParentNode = Node.Method0('M_GetNodeParent');
  136.         var ParentNodeID = ParentNode.objID;
  137.         var CollapsiblePart_container = document.getElementById(ParentNodeID+'CollapsiblePart');        
  138.         if (CollapsiblePart_container != null) CollapsiblePart_container.className='Expanded';    
  139.         var CEButton_container = document.getElementById(ParentNodeID+'CEButton');        
  140.         if (CEButton_container != null) CEButton_container.src="Pics/Op_Node_Col.gif";
  141.     
  142.         while (ParentNodeID != RootNodeID)
  143.             {
  144.             ParentNode = ParentNode.Method0('M_GetNodeParent');              
  145.             ParentNodeID = ParentNode.objID;    
  146.             var CollapsiblePart_container = document.getElementById(ParentNodeID+'CollapsiblePart');        
  147.             if (CollapsiblePart_container != null) CollapsiblePart_container.className='Expanded';    
  148.             var CEButton_container = document.getElementById(ParentNodeID+'CEButton');        
  149.             if (CEButton_container != null) CEButton_container.src="Pics/Op_Node_Col.gif";              
  150.             }    
  151.         }
  152.     //-------------------------------------------------------
  153.      var NodeType = Node.Method0('M_GetNodeType');     
  154.     if ((NodeType >=40) && (NodeType < 50))
  155.      {
  156.      var Node_container = document.getElementById(NodeID+'Value'); 
  157.      Node_container.setActive();
  158.     Node_container.select();
  159.      }
  160.      else
  161.      {
  162.      var Node_container = document.getElementById(NodeID+'Caption'); 
  163.      Node_container.setActive();
  164.      }
  165. }    
  166. function MustBeDisabled(Node)
  167. {     
  168.     var result = false;    
  169.     var RootNode   = external.Method0('M_GetOptionTreeRoot');    
  170.     var RootNodeID = RootNode.objID;    
  171.     var NodeID = Node.objID;            
  172.     if(RootNodeID != NodeID)     
  173.         {            
  174.         var ParentNode = Node.Method0('M_GetNodeParent');
  175.         var ParentNodeID = ParentNode.objID;
  176.         var NodeType = ParentNode.Method0('M_GetNodeType');    
  177.         // if Parent is not RadioItem CheckItem and is not CheckItem
  178.         while ( !((NodeType >= 70) && (NodeType <80)) && !((NodeType >= 80) && (NodeType <90)) && (ParentNodeID != RootNodeID))
  179.               {
  180.               ParentNode = ParentNode.Method0('M_GetNodeParent');
  181.               ParentNodeID = ParentNode.objID;
  182.               NodeType = ParentNode.Method0('M_GetNodeType');    
  183.               }    
  184.         // if Parent is RadioItem
  185.         if     ((NodeType >= 70) && (NodeType <80))
  186.               {
  187.               var GrandFatherNode = ParentNode.Method0('M_GetNodeParent');
  188.               if(GrandFatherNode.Method0('M_GetNodeValue')!=ParentNode.Method0('M_GetNodeValue')) {result = true;}
  189.               }    
  190.         // if Parent is CheckItem
  191.         else if((NodeType >= 80) && (NodeType <90))
  192.               {
  193.               var GrandFatherNode = ParentNode.Method0('M_GetNodeParent');
  194.               if(ParentNode.Method0('M_GetNodeValue') == 0)                                       {result = true;}
  195.               }    
  196.         }              
  197.      return result;
  198. }
  199. function IsProcessed(Node)
  200. {
  201.     var result = true;
  202.     if (Node.Method0('M_GetNodeType') == 0) result = false;
  203.     return result;
  204. }
  205. function IsCollapsible(Node)
  206.     var result = '';
  207.     if (Node.Method0('M_GetCollapsibleState') == 0) result = 'No';
  208.     if (Node.Method0('M_GetCollapsibleState') == 1) result = 'Auto';
  209.     if (Node.Method0('M_GetCollapsibleState') == 2) result = 'Manual';         
  210.      return result;
  211. }
  212. function OnCollapsibleNodeButtonClick(HtmlElementID, ButtonItem)
  213. {    
  214.  var HtmlElement = document.getElementById(HtmlElementID);  
  215.  if    (HtmlElement != null)
  216.     if     (    HtmlElement.className == "Collapsed")    {    HtmlElement.className = "Expanded";     ButtonItem.src="Pics/Op_Node_Col.gif";}
  217.     else                                            {     HtmlElement.className = "Collapsed"; ButtonItem.src="Pics/Op_Node_Exp.gif";} 
  218. }
  219. //-------------------------------------------------------------------------------------------------------------------
  220. // Accessory functions
  221. //-------------------------------------------------------------------------------------------------------------------
  222. //    ExtEditString(Str, Caption) 
  223. //-------------------------------------------------------------------------------------------------------------------
  224. function ExtEditString(Str, Caption) 
  225.     {
  226.     var NewStr = '';
  227.     var NewStr = prompt(Caption, Str);
  228.     return NewStr;
  229.     }     
  230. //-------------------------------------------------------------------------------------------------------------------
  231. // functions for nodes html-tree making
  232. //-------------------------------------------------------------------------------------------------------------------
  233. //    BuildAllChildrenView(Node, Direction, Shift)
  234. //    BuildNodeView(Node, Align)
  235. //    BuildNodeSpecificationView(Node, Class, Mode, NodeViewType)
  236. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  237. //    BuildInputItemView(Node, Mode, ParamCount)
  238. //        OnInputItemClick(HtmlElement)
  239. //        OnInputItemKeyPressed(evt, HtmlElement, NodeID)
  240. //        SaveInputItemValue(HtmlElement, NodeID)
  241. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  242. //    BuildTextItemView(Node, Mode, ItemType, ParamCount, Align)
  243. //        OnNodeLinkItemClick(NodeID)
  244. //        OnNodeLinkItemMouseOver(ElementID, NodeID, Mode)
  245. //        OnNodeLinkItemMouseOut(ElementID, NodeID, Mode)
  246. //        TitleItemLevel(NodeID)
  247. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  248. //    BuildButtonItemView(Node, Mode)
  249. //        OnNodeButtonItemClick(NodeID)
  250. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  251. //    BuildListBoxView(Node, Mode, VSize, FieldSet, Align)
  252. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  253. //    BuildSimpleBoxView(Node, Align, Rows, ParamCount)
  254. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  255. //    BuildSimpleBoxItemView(Node, Mode, NodeType, ParamCount)
  256. //        OnSimpleBoxItemValueChange(NodeID, CheckItem, Mode)
  257. //-------------------------------------------------------------------------------------------------------------------
  258. function BuildAllChildrenView(Node, Direction, Shift)
  259.     {        
  260.     var html_item  = '';        
  261.     var child_node = Node.GetFirst(); 
  262.     
  263.     if (child_node != null) 
  264.         {
  265.         var count = 0;
  266.         while ((child_node != null) && (count<Shift))
  267.                 {
  268.                 if (IsProcessed(child_node)) count++;
  269.                 child_node = Node.GetNext(child_node); 
  270.                 }
  271.         }    
  272.     if(child_node != null)
  273.         {                    
  274.         if (IsCollapsible(Node) != 'No') html_item += '<label id=\''+Node.objID+'CollapsiblePart'+'\' class="Collapsed" >';    
  275.         if (Direction == 'Horizontal')      html_item += '<table><tbody><tr>';     
  276.         while(child_node != null)
  277.             {    
  278.             if (IsProcessed(child_node))
  279.                 {        
  280.                 if (Direction == 'Horizontal') html_item += '<td width="33%">' + BuildNodeView(child_node, 'Left') + '</td>'; 
  281.                 else                            html_item += BuildNodeView(child_node, 'Left');                             
  282.                 }
  283.             child_node = Node.GetNext(child_node);             
  284.             }    
  285.  
  286.         if (Direction == 'Horizontal')     html_item += '</tr></tbody></table>';    
  287.         if (IsCollapsible(Node) != 'No')         html_item += '</label>';        
  288.         }                
  289.     return html_item;
  290.     }    
  291. //--------------------------------------------------------------------------------------------------------------------
  292. function BuildNodeView(Node, Align)
  293. {    
  294.     var Permission = '';
  295.     if(MustBeDisabled(Node)) Permission = 'disabled';
  296.     var NodeViewType = Node.Method0('M_GetNodeType');    
  297.     var node_class='';    
  298.     //-------------------------------------------------------------------------------------------------
  299.     if        ((NodeViewType >= 10) && (NodeViewType < 30))    node_class = 'TIND';    //    TextItem
  300.     else if    ((NodeViewType >= 30) && (NodeViewType < 40))    node_class = 'TIND';    //    LinkItem
  301.     else if    ((NodeViewType >= 40) && (NodeViewType < 50))    node_class = 'IBND';    //    InputItem    
  302.     else if    ((NodeViewType >= 50) && (NodeViewType < 60))    node_class = 'BIND';    //    ButtonItem
  303.     else if    ((NodeViewType >= 60) && (NodeViewType < 70))    node_class = 'SBND';    //    SimpleBox
  304.     else if    ((NodeViewType >= 70) && (NodeViewType < 80))    node_class = 'RIND';    //    RadioItem
  305.     else if    ((NodeViewType >= 80) && (NodeViewType < 90))    node_class = 'CIND';    //    CheckItem
  306.     else if    ((NodeViewType >= 90) && (NodeViewType <100))    node_class = 'LBND';    //    CheckItem
  307.     //-------------------------------------------------------------------------------------------------
  308.     var html_item = '<label id=\''+Node.objID+'\' class=\''+node_class+'\' '+Permission+'>';       
  309.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  310.     if        (NodeViewType == 10    ) html_item += BuildTextItemView      (Node, Permission, 'TextItem',         0, 'Left' ); //          Left_______TextItem
  311.     else if    (NodeViewType == 11    ) html_item += BuildTextItemView      (Node, Permission, 'TextItem',         1, 'Left' ); // Param1Left_______TextItem
  312.     else if    (NodeViewType == 12    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleTextItem',     0, 'Left' ); //          Left_SimpleTextItem    
  313.     else if    (NodeViewType == 13    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleTextItem',     1, 'Left' ); // Param1Left_SimpleTextItem    
  314.     else if    (NodeViewType == 14    ) html_item += BuildTextItemView      (Node, Permission, 'HiddenTextItem',     0, 'Left' ); //          Left_HiddenTextItem
  315.     else if    (NodeViewType == 15    ) html_item += BuildTextItemView      (Node, Permission, 'HiddenTextItem',     1, 'Left' ); // Param1Left_HiddenTextItem
  316.     else if    (NodeViewType == 16    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleTextItem',     2, 'Left' ); // Param2Left_SimpleTextItem  
  317.     else if    (NodeViewType == 17    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleTextItem',     1, 'Right'); // Param1RightSimpleTextItem      
  318.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  319.     else if    (NodeViewType == 30    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleLinkItem',     0, 'Left' ); //          Left_SimpleLinkItem    
  320.     else if    (NodeViewType == 31    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleLinkItem',     1, 'Left' ); // Param1Left_SimpleLinkItem
  321.     else if    (NodeViewType == 32    ) html_item += BuildTextItemView      (Node, Permission, 'SimpleLinkItem',     1, 'Right'); // Param1RightSimpleLinkItem
  322.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  323.      else if    (NodeViewType == 40    ) html_item += BuildInputItemView      (Node, Permission,                      0);         //          InputItem
  324.      else if (NodeViewType == 41    ) html_item += BuildInputItemView      (Node, Permission,                      1);         // Param    InputItem
  325.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  326.     else if    (NodeViewType == 50    ) html_item += BuildButtonItemView      (Node, Permission);                                 //                     ButtonItem
  327.     else if    (NodeViewType == 51    ) html_item += BuildButtonItemView      (Node, Permission);                                 // BrotherAuxiliaryButtonItem
  328.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  329.     else if    (NodeViewType == 60 ) html_item += BuildSimpleBoxView      (Node, 'Left',            1,             0);        //                 SimpleBox    
  330.     else if    (NodeViewType == 61 ) html_item += BuildSimpleBoxView      (Node, 'Left',            1,             1);        // Param  Left SimpleBox    
  331.     else if    (NodeViewType == 62 ) html_item += BuildSimpleBoxView      (Node, 'Left',            3,             0);        //          Left3SimpleBox    
  332.     else if    (NodeViewType == 63 ) html_item += BuildSimpleBoxView      (Node, 'Right',            3,             0);        //         Right3SimpleBox        
  333.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  334.     else if    (NodeViewType == 70    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'RadioItem',          0);        //            RadioItem
  335.     else if    (NodeViewType == 71    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'RadioItem',         1);        // Param    RadioItem
  336.     else if    (NodeViewType == 72    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'RadioItem',         2);        // Param2    RadioItem
  337.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  338.     else if    (NodeViewType == 80    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'CheckItem',         0);         //            CheckItem
  339.     else if    (NodeViewType == 81    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'CheckItem',         1);         // Param    CheckItem
  340.     else if    (NodeViewType == 82    ) html_item += BuildSimpleBoxItemView (Node, Permission, 'CheckItem',         2);         // Param2    CheckItem
  341.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  342.     else if    (NodeViewType == 90    ) html_item += BuildListBoxView          (Node, Permission,  1, 'FieldSetOff', Align);        //          ComboListBox
  343.     else if    (NodeViewType == 91    ) html_item += BuildListBoxView          (Node, Permission, 10, 'FieldSetOn' , Align);        //                 ListBox
  344.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  345.     //else if    (NodeViewType ==100    ) html_item += BuildImageItemView      (Node, Permission,  Scalability, Align);            //          ImageItem
  346.     //else if    (NodeViewType ==101    ) html_item += BuildImageItemView      (Node, Permission, 10, 'FieldSetOn' , Align);        //                 ImageItem
  347.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  348.  
  349.     html_item += '</label>';
  350.     return html_item;
  351. }
  352. //--------------------------------------------------------------------------------------------------------------------
  353. function StrToFormatStr(Str)
  354. {
  355.     var NewStr = '';
  356.     S = new String(Str);
  357.     len = (S.length); 
  358.     for(i=0;i<len;i++)    
  359.         if (S.charAt(i) == '|')     NewStr=NewStr+'</br>';        
  360.         else                        NewStr=NewStr+S.charAt(i);        
  361.     return NewStr;
  362. }
  363. //--------------------------------------------------------------------------------------------------------------------
  364. function BuildNodeSpecificationView(Node, Class, Mode, NodeViewType)
  365. {
  366.     var html_item ='';    
  367.        if (Mode == 'Caption')                 
  368.           {
  369.             if(Node.Method0('M_GetNode'+Mode)=='')  return '';            
  370.             else if (NodeViewType == 'SimpleLinkItem')    { html_item += '<div class=\''+Class+'\' id=\''+Node.objID+'Caption'+
  371.                                                                      '\' onclick="OnNodeLinkItemClick(\''+Node.objID+'\',this)" '+
  372.                                                                      'onmouseover="OnNodeLinkItemMouseOver(\''+Node.objID+'Caption'+'\',\''+Node.objID+'\', \'SimpleLinkItem\')" '+
  373.                                                                    ' onmouseout="OnNodeLinkItemMouseOut (\''+Node.objID+'Caption'+'\',\''+Node.objID+'\', \'SimpleLinkItem\')">'+
  374.                                                                    StrToFormatStr(Node.Method0('M_GetNode'+Mode))+'</div>'; }
  375.             else if (NodeViewType == 'CheckItem')        { html_item += '<div class=\''+Class+'\''+' id=\''+Node.objID+'Caption\''+
  376.                                                                    ' style="margin-right:2px;" onclick="OnSimpleBoxItemValueChange(\''+
  377.                                                                  Node.objID+'\' ,this , \''+NodeViewType+'\')">'+
  378.                                                                    StrToFormatStr(Node.Method0('M_GetNode'+Mode))+'</div>'; }   
  379.          else if (NodeViewType == 'RadioItem')        { html_item += '<div class=\''+Class+'\''+' id=\''+Node.objID+'Caption\''+
  380.                                                                    ' style="margin-right:2px;" onclick="OnSimpleBoxItemValueChange(\''+
  381.                                                                  Node.objID+'\' ,this , \''+NodeViewType+'\')">'+
  382.                                                                    StrToFormatStr(Node.Method0('M_GetNode'+Mode))+'</div>'; }             
  383.          else                                         { html_item += '<div class=\''+Class+'\''+' id=\''+Node.objID+'Caption\''+
  384.                                                                    ' style="margin-right:2px;">'+
  385.                                                                    StrToFormatStr(Node.Method0('M_GetNode'+Mode))+'</div>'; }             
  386.                                                                    
  387.                                                                    
  388.            } 
  389.     else if (Mode == 'Description') 
  390.         {  
  391.          if(Node.Method0('M_GetNode'+Mode)=='') { return ''; }
  392.          var RootNode   = external.Method0('M_GetOptionTreeRoot');    
  393.          var RootNodeID = RootNode.objID;    
  394.          var NodeID = Node.objID;            
  395.             html_item += '<div class=\''+Class+'\''+' id=\''+Node.objID+'Description\''+' >'+StrToFormatStr(Node.Method0('M_GetNode'+Mode))+'</div>';          
  396.            } 
  397.     return html_item;
  398. }
  399. //-------------------------------------------------------------------------------------------------------------------------------
  400. // 1. NodeType : InputItem
  401. //-------------------------------------------------------------------------------------------------------------------------------
  402. function BuildInputItemView (Node, Mode, ParamCount)
  403. {        
  404.     var permission = ''; 
  405.     if (Mode == 'disabled') {permission = 'disabled';} 
  406.     var html_item = '<table><tbody>';             
  407.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     
  408.         html_item += '<tr><td width="100%">';
  409.         html_item += '<table><tbody><tr>';            
  410.         if (IsCollapsible(Node) == 'Auto')    html_item += '<td width="1%"><img src="Pics/Op_Node_Exp.gif" id=\''+Node.objID+'CEButton\' onclick="OnCollapsibleNodeButtonClick(\''+Node.objID+
  411.                                                            'CollapsiblePart'+'\', this)"></td>';
  412.         if (IsCollapsible(Node) == 'Manual')html_item += '<td width="1%"><img src="Pics/Op_Node_Blank.gif" onclick="OnCollapsibleNodeButtonClick(\''+Node.objID+
  413.                                                            'CollapsiblePart'+'\', this)"></td>';
  414.                                                            
  415.            html_item += '<td width="1%" nowrap>'+BuildNodeSpecificationView(Node, "IBNCD", "Caption", 'InputBox')+'</td>';                                         
  416.         html_item += '<td width="100%"><label class="IBNVD">';
  417.         // - - - - - - - 
  418.         if ((Node.Method0('M_GetNodeValue')*0)==0) size = 10; else size = 45;    
  419.         if ((Node.Method0('M_GetNodeValue'))=='') size = 45;        
  420.         if (Node.Method0('M_GetNodeName') == 'File_TimeString') size = 15;
  421.         if (Node.Method0('M_GetNodeName') == 'change_to_user_location_folder') size = 15;
  422.         if (Node.Method0('M_GetNodeName') == 'delete_to_user_location_folder') size = 15;
  423.         // - - - - - - - 
  424.         html_item += '<input type="text" size="'+size+'" value="'+Node.Method0('M_GetNodeValue')+ '" ondblclick="OnInputItemClick(this)" ' + permission + 
  425.                      'onkeydown="OnInputItemKeyDown(event, this, \''+Node.objID+'\')" onkeypress="OnInputItemKeyPressed(event, this, \''+Node.objID+'\')" onblur="SaveInputItemValue(this, \''+Node.objID+'\')" id=\''+Node.objID+'Value'+'\' >';
  426.         html_item += '</label></td>';
  427.         // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  428.         if (ParamCount > 0)    
  429.             { 
  430.             var count = 0;
  431.             child_node = Node.GetFirst();        
  432.             while ((child_node != null) && (count < ParamCount)) 
  433.                 { 
  434.                 if(IsProcessed(child_node)) 
  435.                     {
  436.                     html_item +='<td width="1%">' + BuildNodeView(child_node, 'Left') + '</td>' ; 
  437.                     count ++;                                
  438.                     }
  439.                 child_node = Node.GetNext(child_node);                                
  440.                 }
  441.             }
  442.         // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                               
  443.         html_item += '</tr></tbody></table>';
  444.         html_item += '</td></tr>';
  445.         // - - - - - - - - - - - - - - - - - - 
  446.         html_item += '<tr><td width="100%">'+BuildNodeSpecificationView(Node, "IBNDD", "Description",  'InputBox')+'</td></tr>';
  447.         html_item += '<tr><td width="100%">'+BuildAllChildrenView(Node, 'Vertical', ParamCount)+'</td></tr>';
  448.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     
  449.     html_item +='</tbody></table>';         
  450.     return html_item;
  451. }
  452. //-------------------------------------------------------------------------------------------------------------------------------
  453. function OnInputItemClick(HtmlElement)
  454. {
  455.     HtmlElement.setActive();
  456.     HtmlElement.select();    
  457. }
  458. function OnInputItemKeyPressed(evt, HtmlElement, NodeID)
  459. {         
  460.      if (evt.keyCode == 13) {SaveInputItemValue(HtmlElement, NodeID); return false};     
  461.      else                     return true;
  462. }
  463. function SaveInputItemValue(HtmlElement, NodeID)
  464. {        
  465.     var Node=external.ObjByID(NodeID);     
  466.     Node.Method1('M_SetNodeValue', HtmlElement.value);  
  467.     ExtRefreshView(Node, 0);        
  468. }
  469. function OnInputItemKeyDown(evt, HtmlElement, NodeID)
  470. {         
  471.     external.Method2('M_KeyPressed', NodeID, evt.keyCode);
  472. }
  473. //------------------------------------------------------------------------------------------------------
  474. // 2. NodeType : TextItem, SimpleTextItem, SimpleLinkItem
  475. //------------------------------------------------------------------------------------------------------
  476. function BuildTextItemView(Node, Mode, ItemType, ParamCount, Align)
  477.     var Height = 6;//height="'+Math.round(Height*15)+'"
  478.     
  479.     var level = TitleItemLevel(Node.objID);   
  480.     if ((ItemType == 'HiddenTextItem') && (level == 1)) ItemType = 'TextItem';
  481.     if ((ItemType == 'HiddenTextItem') && (level != 1)) return '';
  482.     if ((ItemType == 'SimpleLinkItem') && (level == 1)) ItemType = 'TextItem';
  483.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  484.     var RootNode   = external.Method0('M_GetOptionTreeRoot');
  485.     var RootNodeID = RootNode.objID;    
  486.     var NodeID = Node.objID;          
  487.     // - - - - - - - - - - - - -
  488.     if (ItemType == 'TextItem')    if (level > 5) node_class = 'TINCD5'; else    node_class = 'TINCD'+level;                
  489.     else if (ItemType == 'SimpleTextItem') {node_class = 'STINCD';}
  490.     else if (ItemType == 'SimpleLinkItem') {node_class = 'SLINCD';}
  491.     // - - - - - - - - - - - - -
  492.     var permission = '';
  493.     if (Mode == 'disabled') {permission = 'disabled';}    
  494.     //********************************************************************            
  495.     var html_item = '<table><tbody>'; 
  496.       // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  497.     html_item += '<tr><td';
  498.     if (IsCollapsible(Node) != 'No') html_item += ' style="border: 1px solid #555555" ';
  499.     html_item += '>';              
  500.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  501.     html_item += '<table><tbody><tr id="'+Node.objID+'Height'+'">';            
  502.     if (IsCollapsible(Node) == 'Auto')     html_item += '<td width="1%" style="border: solid 1px #555555;"><img src="Pics/Op_Node_Exp.gif" id=\''+Node.objID+'CEButton\' onclick="OnCollapsibleNodeButtonClick(\''+Node.objID+
  503.                                           'CollapsiblePart'+'\', this)"></td>';
  504.     if (IsCollapsible(Node) == 'Manual')html_item += '<td width="1%"><img src="Pics/Op_Node_Blank.gif" onclick="OnCollapsibleNodeButtonClick(\''+Node.objID+
  505.                                           'CollapsiblePart'+'\', this)"></td>';                                      
  506.     if (ParamCount == 0) html_item += '<td width="100%" nowrap>'+BuildNodeSpecificationView(Node, node_class, 'Caption', ItemType)+'</td>';
  507.     if (ParamCount > 0)    
  508.         {            
  509.         if (Align == 'Center')    html_item += '<td width="'+Math.round(100/ParamCount)+'%" nowrap>'+BuildNodeSpecificationView(Node, node_class, 'Caption', ItemType)+'</td>';
  510.         if (Align == 'Left'  )    html_item += '<td width="200px" nowrap>'+BuildNodeSpecificationView(Node, node_class, 'Caption', ItemType)+'</td>';
  511.         if (Align == 'Right' )    html_item += '<td width="100%">'+BuildNodeSpecificationView(Node, node_class, 'Caption', ItemType)+'</td>';
  512.         var count = 0;
  513.         child_node = Node.GetFirst();        
  514.         while ((child_node != null) && (count < ParamCount)) 
  515.             {
  516.             if(IsProcessed(child_node))
  517.                 {
  518.                 if (count < ParamCount-1)
  519.                     {
  520.                     if (Align == 'Center') html_item +='<td width="'+Math.round(100/ParamCount)+'%">' + BuildNodeView(child_node, 'Left') + '</td>'; 
  521.                     if (Align == 'Left'  ) html_item +='<td width="175px" nowrap>' + BuildNodeView(child_node, 'Left') + '</td>';
  522.                     //if (Align == 'Left'  ) html_item +='<td width="1%">' + BuildNodeView(child_node, 'Left') + '</td>';
  523.                     if (Align == 'Right' ) html_item +='<td width="1%" nowrap>' + BuildNodeView(child_node, 'Left') + '</td>';
  524.                     }
  525.                 else
  526.                     {
  527.                     html_item +='<td width="1%" nowrap>' + BuildNodeView(child_node, 'Left') + '</td>';
  528.                     }    
  529.                 count ++;                                
  530.                 }
  531.             child_node = Node.GetNext(child_node);                                
  532.             }
  533.         if (Align == 'Left') html_item +='<td width="1000%">' + '<img src="Pics/Op_Node_Blank.gif">' + '</td>';                
  534.         }    
  535.     html_item += '</tr></tbody></table>';
  536.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  537.     html_item += '</td></tr>';
  538.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  539.     if ((Node.Method0('M_GetNodeDescription') != '') && (Node.Method0('M_GetNodeDescription') != null) && (TitleItemLevel(Node.objID) != 1))
  540.         {
  541.         html_item += '<tr><td><table><tbody><tr>';            
  542.         if     (ItemType == 'SimpleLinkItem')    html_item += '<td width="100%">'+BuildNodeSpecificationView(Node, 'LINDD', 'Description', ItemType)+'</td>';
  543.         else                                 html_item += '<td width="100%">'+BuildNodeSpecificationView(Node, 'TINDD', 'Description', ItemType)+'</td>';
  544.         html_item += '</tr></tbody></table></td></tr>';
  545.         }
  546.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  547.     if((RootNodeID == NodeID) || (ItemType == 'TextItem') || (ItemType == 'SimpleTextItem'))     
  548.         {
  549.         html_item += '<tr><td><table><tbody><tr>';            
  550.         html_item += '<td width="100%">'+BuildAllChildrenView(Node, 'Vertical', ParamCount)+'</td>';
  551.         html_item += '</tr></tbody></table></td></tr>';            
  552.         }    
  553.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  554.     html_item +='</tbody></table>';     
  555.     //********************************************************************        
  556.     return html_item;    
  557. }
  558. function OnNodeLinkItemClick(NodeID)
  559. {    
  560.     var Node=external.ObjByID(NodeID);
  561.     external.Method1('M_ShowNode', Node);
  562. }
  563. function OnNodeLinkItemMouseOver(ElementID, NodeID, Mode)
  564. {
  565.     var Element = document.getElementById(ElementID);        
  566.     if (Mode == 'LinkItem')
  567.         {
  568.         var Node = external.ObjByID(NodeID);
  569.         var level = TitleItemLevel(Node.objID);
  570.         if (level > 5)     Element.className = 'LINCE5';
  571.         else            Element.className = 'LINCE'+level;
  572.         }
  573.     else if (Mode == 'SimpleLinkItem') Element.className = 'SLINCE';                    
  574. }
  575. function OnNodeLinkItemMouseOut(ElementID, NodeID, Mode)
  576. {
  577.     var Element = document.getElementById(ElementID);
  578.     if (Mode == 'LinkItem')
  579.         {
  580.         var Node = external.ObjByID(NodeID);
  581.         var level = TitleItemLevel(Node.objID);
  582.         if (level > 5)     Element.className = 'LINCD5';
  583.         else            Element.className = 'LINCD'+level;    
  584.         }
  585.     else if (Mode == 'SimpleLinkItem') Element.className = 'SLINCD';                    
  586. }
  587. function TitleItemLevel(NodeID)
  588.     var result = 1;    
  589.     var RootNode   = external.Method0('M_GetOptionTreeRoot');    
  590.     var RootNodeID = RootNode.objID;    
  591.     var Node = external.ObjByID(NodeID); 
  592.     if(RootNodeID != NodeID)     
  593.         {            
  594.         var ParentNode = Node.Method0('M_GetNodeParent');
  595.         var ParentNodeID = ParentNode.objID;
  596.         var ParentNodeType = ParentNode.Method0('M_GetNodeType');            
  597.           // if Parent is TextItem or LinkItem
  598.         if (((ParentNodeType >= 10) && (ParentNodeType < 30)) || 
  599.              (ParentNodeType >= 30) && (ParentNodeType < 40)) result++;
  600.         while ((ParentNodeID != RootNodeID))
  601.               {
  602.               ParentNode = ParentNode.Method0('M_GetNodeParent');
  603.               ParentNodeID = ParentNode.objID;
  604.               ParentNodeType = ParentNode.Method0('M_GetNodeType');    
  605.               if (((ParentNodeType >= 10) && (ParentNodeType < 30)) || 
  606.                     (ParentNodeType >= 30) && (ParentNodeType < 40)) result++;
  607.               }    
  608.         }      
  609.      return result;
  610. }
  611. //------------------------------------------------------------------------------------------------------
  612. // 3. NodeType : ButtonItem
  613. //------------------------------------------------------------------------------------------------------
  614. function BuildButtonItemView(Node, Mode) 
  615. {    
  616.     if ((Node.Method0('M_GetNodeType') == 51) && (G_PAPAM_NODE_IS_VISIBLE == false)) return '';
  617.     
  618.     var permission = '';
  619.     if (Mode == 'disabled') {permission = 'disabled';}
  620.     var html_item = '<table><tbody>';
  621.     //-----------------------------------------
  622.     html_item += '<tr><td><table><tbody><tr>';
  623.     if (IsCollapsible(Node) == 'Auto')     html_item += '<td width="1%"><img src="Pics/Op_Node_Exp.gif" id=\''+Node.objID+'CEButton\' onclick="OnCollapsibleNodeButtonClick(\''+
  624.                                                       Node.objID+'CollapsiblePart'+'\', this)"></td>';
  625.     if (IsCollapsible(Node) == 'Manual')html_item += '<td width="1%"><img src="Pics/Op_Node_Blank.gif" onclick="OnCollapsibleNodeButtonClick(\''+
  626.                                                       Node.objID+'CollapsiblePart'+'\', this)"></td>';
  627.     html_item += '<td width="100%">'+ '<button onclick="OnNodeButtonItemClick(\''+Node.objID+'\')" '+
  628.                  permission +' title="'+Node.Method0('M_GetNodeCaption')+'" id=\''+Node.objID+'Button'+'\' class="BIND">'+
  629.                  BuildNodeSpecificationView(Node, 'BINCD', 'Caption', 'ButtonItem')+'</button>'+'</td>';    
  630.     html_item += '</tr></tbody></table></td></tr>';        
  631.     //-----------------------------------------
  632.        if ((Node.Method0('M_GetNodeDescription') != '') && (Node.Method0('M_GetNodeDescription') != null))           
  633.            html_item += '<tr><td width="100%">'+BuildNodeSpecificationView(Node, 'BINDD', 'Description', 'ButtonItem')+'</td></tr>';            
  634.     //-----------------------------------------            
  635.     html_item += '<tr><td width="100%">'+BuildAllChildrenView(Node, 'Vertical', 0)+'</td></tr>';
  636.     //-----------------------------------------
  637.     html_item += '</tbody></table>';     
  638.     return html_item;    
  639. }
  640. function OnNodeButtonItemClick(NodeID)
  641. {
  642.     var Node=external.ObjByID(NodeID); 
  643.     Node.Method0('M_ButtonPressed');    
  644. }
  645. //------------------------------------------------------------------------------------------------------
  646. // 4. NodeType : ListBox, ListItem
  647. //------------------------------------------------------------------------------------------------------
  648. function BuildListBoxView(Node, Mode ,VSize, FieldSet, Align)
  649. {    
  650.     var permission = '';
  651.     if (Mode == 'disabled') {permission = 'disabled';}
  652.     var html_item = '';        
  653.     var selected ='';            
  654.        html_item += '<table><tbody><tr><td width="100%">';
  655.        //***************************************************************** 
  656.     if (FieldSet == 'FieldSetOn') 
  657.         {
  658.         html_item += '<fieldset><legend>'+ BuildNodeSpecificationView(Node, 'LBNCD', 'Caption', 'ListBox')+'</legend>';
  659.            html_item += '<table width="100%"><tbody><tr><td width="100%">'; 
  660.            // 2 entry #1 
  661.         html_item += '<select ';
  662.         }
  663.     else 
  664.         {
  665.            html_item += '<table ><tbody><tr>';  
  666.            // 2 entry #2 
  667.         if (Align == 'Left')  html_item += '<td width="1%" nowrap>' + BuildNodeSpecificationView(Node, 'LBNCS', 'Caption', 'ListBox') + '</td><td width="100%"><select ';
  668.         if (Align == 'Right') html_item += '<td width="100%" nowrap><img src="Pics/Op_Node_Blank.gif"></td><td width="1%" nowrap>' + 
  669.                                            '<label align='+Align+'>' + BuildNodeSpecificationView(Node, 'LBNCS', 'Caption', 'ListBox') +'</label>'+
  670.                                            '</td><td width="1%">' + '<select ';
  671.         }    
  672.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     
  673.     if (VSize > 1) 
  674.         { 
  675.         html_item +='size=\''+VSize+'\' class="LBND" '; 
  676.         html_item +='onchange="OnSimpleBoxItemValueChange(\''+Node.objID+'\',this, \'ListBox\')" '+permission+'>';    
  677.         }
  678.     else html_item +='onchange="OnSimpleBoxItemValueChange(\''+Node.objID+'\',this, \'ComboListBox\')" '+permission+'>';    
  679.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -     
  680.     var child_node = Node.GetFirst();        
  681.     if(child_node != null)
  682.         {    
  683.         var NodeViewType = child_node.Method0('M_GetNodeType');                            
  684.         while(child_node != null)
  685.             {    
  686.             if(NodeViewType == 12) //if SimpleTextItem
  687.                 {
  688.                 if ( Node.Method0('M_GetNodeValue') == child_node.Method0('M_GetNodeValue'))  {selected ='selected';} 
  689.                 html_item += '<option '+selected+' value=\''+child_node.Method0('M_GetNodeValue')+'\''+
  690.                              ' id=\''+child_node.objID+'\' offsetWidth="8">'+child_node.Method0('M_GetNodeCaption')+'</option>';     
  691.                 selected ='';                        
  692.                 }
  693.             child_node = Node.GetNext(child_node);        
  694.             if(child_node != null) NodeViewType = child_node.Method0('M_GetNodeType');
  695.             else NodeViewType = 0;
  696.             }
  697.         }                    
  698.     if (FieldSet == 'FieldSetOn')     
  699.         {
  700.         html_item += '</select></td>';
  701.         html_item += '<td width="20%" style="vertical-align:top">';
  702.         //--------------------------------------------------------
  703.            html_item += '<table><tbody>';
  704.         var count = 0;
  705.         child_node = Node.GetFirst();
  706.         if(child_node != null)
  707.             {
  708.             NodeViewType = child_node.Method0('M_GetNodeType');
  709.             while ((child_node != null) && (count < 4))
  710.                 {
  711.                 if(child_node != null) if (NodeViewType != 12)     //if is not SimpleTextItem
  712.                     { 
  713.                     html_item += '<tr><td width="100%" style="vertical-align:top">' + BuildNodeView(child_node, 'Left') + '</td></tr>'; count ++;
  714.                     if (count == 2 ) html_item += '<tr><td width="100%">' +'<img src="Pics/Op_Node_Blank.gif" >'+ '</td></tr>';
  715.                     }    
  716.                     child_node = Node.GetNext(child_node);    
  717.                     if(child_node != null) NodeViewType = child_node.Method0('M_GetNodeType');
  718.                     else NodeViewType = 0;                    
  719.                 }                                
  720.             }    
  721.         html_item += '</tbody></table>';    
  722.         //--------------------------------------------------------
  723.            // 2  exit #1 
  724.         html_item += '</td></tr></tbody></table>';    
  725.         }
  726.        // 2 exit #2 
  727.     else html_item += '</select></td><td><img src="Pics/Op_Node_Blank.gif"></td></tr></tbody></table>';    
  728.     //----------------------------------------------------------------------------------
  729.        if ((Node.Method0('M_GetNodeDescription') != '') && (Node.Method0('M_GetNodeDescription') != null))
  730.            {
  731.         html_item += '<table><tbody><tr><td width="100%">';  
  732.         html_item += BuildNodeSpecificationView(Node, 'LBNDD', 'Description', 'ListBox');    
  733.         html_item += '</td></tr></tbody></table>';                 
  734.         }
  735.     //----------------------------------------------------------------------------------
  736.     html_item += '<table ><tbody><tr><td width="100%">';  
  737.     if (FieldSet != 'FieldSetOn')  child_node = Node.GetFirst();            
  738.     if(child_node != null)
  739.         {    
  740.         NodeViewType = child_node.Method0('M_GetNodeType');                
  741.         while(child_node != null)
  742.             {    
  743.                 if(child_node != null) if (NodeViewType != 12)    
  744.                     {
  745.                     html_item += '<table><tbody><tr><td width="100%">'+BuildNodeView(child_node, 'Left')+'</td></tr></tbody></table>';                 
  746.                     }
  747.                 child_node = Node.GetNext(child_node);    
  748.                 if(child_node != null) NodeViewType = child_node.Method0('M_GetNodeType');
  749.                 else NodeViewType = 0;                    
  750.             }
  751.         }
  752.     html_item += '</td></tr></tbody></table>';         
  753.     //------------------------------------------------------------------------------------
  754.     if (FieldSet == 'FieldSetOn'){ html_item += '</fieldset>';}
  755.        //***************************************************************** 
  756.     html_item += '</td></tr></tbody></table>';     
  757.     return html_item;        
  758. }
  759. //------------------------------------------------------------------------------------------------------
  760. // 5. NodeType : SimpleBox, RadioItem, CheckItem
  761. //------------------------------------------------------------------------------------------------------
  762. function BuildSimpleBoxView(Node, Align, Rows, ParamCount)
  763. {        
  764.     var html_item = '<table><tbody><tr><td width="100%">';  
  765.     html_item += '<div><fieldset width="100%"><legend>'+BuildNodeSpecificationView(Node, 'SBNCD', 'Caption', 'SimpleBox')+'</legend>';
  766.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  767.     html_item += '<table style="margin-bottom:8px;"><tbody><tr><td width="100%" style="background:#eeeeee;">' + 
  768.                  BuildNodeSpecificationView(Node, 'SBNDD', 'Description', 'SimpleBox') +'</td></tr></tbody></table>';    
  769.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  770.     html_item += '<table><tbody><tr>'; 
  771.     var child_node = Node.GetFirst();    
  772.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -                   
  773.     var count = 0;
  774.     if(child_node != null)
  775.         {                                
  776.         while(child_node != null)
  777.             {    
  778.             if (IsProcessed(child_node))
  779.                 {
  780.                 if (Rows == 1)     html_item += '<td width=\''+Math.round(100/(Rows))+'%\' nowrap>'+BuildNodeView(child_node, Align)+'</td>';
  781.                 else            html_item += '<td width=\''+Math.round(100/(Rows))+'%\' nowrap>'+BuildNodeView(child_node, Align)+'</td>';
  782.                  count ++;                      
  783.                 }                         
  784.             child_node = Node.GetNext(child_node);    
  785.             if (child_node != null) if((count % Rows) == 0) html_item +='<td width="100%"><img src="Pics/Op_Node_Blank.gif"></td></tr><tr>';
  786.             }            
  787.         }
  788.     if (count > 0)
  789.         {            
  790.         while ((count % Rows) != 0)
  791.             {        
  792.             if (Rows == 1)     html_item += '<td width=\''+Math.round(100/(Rows))+'%\'>'+'<img src="Pics/Op_Node_Blank.gif">'+'</td>';
  793.             else            html_item += '<td width=\''+Math.round(100/(Rows))+'%\'>'+'<img src="Pics/Op_Node_Blank.gif">'+'</td>';            
  794.             html_item += '<td width="100%">'+'<img src="Pics/Op_Node_Blank.gif">'+'</td>';
  795.             count++;
  796.             }
  797.         html_item +='<td width="100%"><img src="Pics/Op_Node_Blank.gif"></td>';    
  798.         }
  799.     else    html_item +='<td width="100%"><img src="Pics/Op_Node_Blank.gif"></td>';    
  800.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -               
  801.     html_item += '</tr></tbody></table>';            
  802.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -       
  803.     if (ParamCount > 0)    
  804.             {             
  805.             var ParentNode = Node.Method0('M_GetNodeParent'); 
  806.             var brother_node = ParentNode.GetFirst();            
  807.             while ((brother_node.objID) != (Node.objID)) brother_node = ParentNode.GetNext(brother_node);                                                                
  808.             G_PAPAM_NODE_IS_VISIBLE = true;
  809.             html_item += '<table><tbody><tr>';  
  810.             var i = 0;
  811.             while ((brother_node != null) && (i < ParamCount))            
  812.                 {
  813.                 brother_node = ParentNode.GetNext(brother_node);
  814.                 if(IsProcessed(brother_node)) 
  815.                     {
  816.                     html_item +='<td width=\'1%\'>' + BuildNodeView(brother_node, Align) +'</td>'; 
  817.                     i ++;                            
  818.                     }
  819.                 }
  820.             html_item += '</tr></tbody></table>';  
  821.             G_PAPAM_NODE_IS_VISIBLE = false;                                        
  822.             }
  823.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  824.     html_item += '</fieldset></div></td></tr></tbody></table>';     
  825.     return html_item;    
  826. }
  827. //------------------------------------------------------------------------------------------------------
  828. function BuildSimpleBoxItemView (Node, Mode, NodeType, ParamCount)
  829. {    
  830.     var permission = '';
  831.     if (Mode == 'disabled') {permission = 'disabled';}
  832.     //------------------------------------------------
  833.     var ParentNode = Node.Method0('M_GetNodeParent');
  834.     var checked ='';
  835.     if ((NodeType == 'CheckItem') && (Node.Method0('M_GetNodeValue') == 1))                                     checked ='checked';             
  836.     if ((NodeType == 'RadioItem') && (ParentNode.Method0('M_GetNodeValue') == Node.Method0('M_GetNodeValue')))  checked ='checked'; 
  837.     //------------------------------------------------
  838.     var BeginChar='';
  839.     if (NodeType == 'CheckItem') {BeginChar='C'; InputType='checkbox';}
  840.     if (NodeType == 'RadioItem') {BeginChar='R'; InputType='radio';   }         
  841.     //***************************************************************************************    
  842.     html_item =  '<table><tbody>';
  843.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  
  844.     html_item +=  '<tr><td width="100%">';             
  845.     html_item += '<table><tbody><tr>';    
  846.     // - - - - - - -
  847.     html_item += '<td  width="1%"><input type=' + InputType + ' ' + checked + ' value=\''+Node.Method0('M_GetNodeValue')+
  848.                   '\' name=\''+Node.objID+'\' id=\''+Node.objID+'SimpleBoxItem\' onclick="OnSimpleBoxItemValueChange(\''+
  849.                   Node.objID+'\',this, \''+NodeType+'\')" '+permission+' ></td>';    
  850.     // - - - - - - -              
  851.     if (IsCollapsible(Node) == 'Auto') 
  852.         {
  853.         html_item += '<td width="1%"><img src="Pics/Op_Node_Exp.gif" id=\''+Node.objID+'CEButton\' onclick="OnCollapsibleNodeButtonClick(\''+
  854.                      Node.objID+'CollapsiblePart'+'\', this)"></td>';        
  855.            }    
  856.     if (IsCollapsible(Node) == 'Manual') 
  857.         {
  858.         html_item += '<td width="1%"><img src="Pics/Op_Node_Blank.gif" onclick="OnCollapsibleNodeButtonClick(\''+
  859.                      Node.objID+'CollapsiblePart'+'\', this)"></td>';        
  860.            }                                           
  861.     // - - - - - - -               
  862.     if (ParamCount > 0) html_item += '<td left=20 width="180px" nowrap>'+BuildNodeSpecificationView(Node, (BeginChar + 'INCD'), 'Caption', NodeType)+'</td>';
  863.     else                 html_item += '<td nowrap>'+BuildNodeSpecificationView(Node, (BeginChar + 'INCD'), 'Caption', NodeType)+'</td>';                               
  864.     // - - - - - - -
  865.     if (ParamCount > 0)    
  866.         {        
  867.         var count = 0; 
  868.         var child_node = Node.GetFirst();        
  869.         while ((child_node != null) && (count < ParamCount)) 
  870.             {            
  871.             if(IsProcessed(child_node))
  872.                 {            
  873.                 html_item +='<td width="1%" nowrap>' + BuildNodeView(child_node, 'Left') + '</td>' ;
  874.                 count ++;                                
  875.                 }
  876.             child_node = Node.GetNext(child_node);                                
  877.             }
  878.         } 
  879.     html_item += '<td width="100%"><img src="Pics/Op_Node_Blank.gif"></td>';    
  880.     html_item += '</tr></tbody></table>';    
  881.     html_item += '</td></tr>';
  882.     // - - - - - - -          
  883.     if ((Node.Method0('M_GetNodeDescription') != '') && (Node.Method0('M_GetNodeDescription') != null))        
  884.         html_item += '<tr><td width="100%">'+BuildNodeSpecificationView(Node, (BeginChar + 'INDD'), 'Description', NodeType)+'</td></tr>';
  885.     // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -          
  886.     html_item += '<tr><td>'+BuildAllChildrenView(Node, 'Vertical', ParamCount)+'</td></tr>';
  887.     //***************************************************************************************
  888.     html_item += '</tbody></table>';         
  889.     return html_item;             
  890. }
  891. //---------------------------------------------------------------------------------------------------------------
  892. function OnSimpleBoxItemValueChange(NodeID, CheckItem, Mode)
  893. {     
  894.      var Node = external.ObjByID(NodeID); 
  895.      if( Mode == "CheckItem")
  896.          {
  897.          if ( (Node.Method0('M_GetNodeValue')) == 1) { Node.Method1('M_SetNodeValue', 0); }
  898.          else                                          { Node.Method1('M_SetNodeValue', 1); }        
  899.          ExtRefreshView(Node, 0);          
  900.          }                 
  901.     else if ((Mode == "RadioItem"))
  902.         {
  903.         var ParentNode=Node.Method0('M_GetNodeParent');                
  904.         ParentNode.Method1('M_SetNodeValue', Node.Method0('M_GetNodeValue')); 
  905.         ExtRefreshView(ParentNode, 0);                         
  906.         }        
  907.     else if ((Mode == "ComboListBox"))
  908.         {
  909.         Node.Method1('M_SetNodeValue', CheckItem.value); 
  910.         //ExtRefreshView(Node, 0);         
  911.         }
  912.     else if ((Mode == "ListBox"))
  913.         {
  914.         Node.Method1('M_SetNodeValue', CheckItem.value); 
  915.         }            
  916. }
  917. //---------------------------------------------------------------------------------------------------------------
  918. // Not used functions yet
  919. //---------------------------------------------------------------------------------------------------------------    
  920.  
  921.  
  922.  
  923.  
  924.